/* 当前模块 所有的api解构进行统一的管理  所有的接口都在这里管理 */
import request from "./request";
import mockrequest from "./mockrequest";

/* 获取三级联动的接口 */
// /api/product/getBaseCategoryList  get 无参数
// 发请求 可以省略/api 因为在axios的request中定义了baseUrl  所以所有的/api都可以忽略  它返回的结果是promise对象
export const reqCategoryList = () => request({ url: '/product/getBaseCategoryList', method: 'get' })

/* 发请求 发送请求mock去拦截这个api之后返回mock当中的数据   */
// 获取banner(Home首页轮播图接口)
export const reqGetBannerList = () => mockrequest.get("/banner")

/* 获取floor组建的数据 */
export const reqFloorList = () => mockrequest.get('/floors')

/* 获取搜索模块的数据 /api/list 请求方式post
    参数10个示例：请求需要带参数  是否必选(N代表可有可无 No的意思)
    {
  "category3Id": "61",
  "categoryName": "手机",
  "keyword": "小米",
  "order": "1:desc",
  "pageNo": 1,
  "pageSize": 10,
  "props": ["1:1700-2799:价格", "2:6.65-6.74英寸:屏幕尺寸"],
  "trademark": "4:小米"
    }
*/
/* 当前的函数需要接受外部传过来的参数 我们接收函数用params形参  当前这个接口给服务器传递的参数至少是一个空对象 */
/* 当前这个接口 获取搜索模块的数据 给服务器得传递一个默认的参数 至少是一个空对象{} */
export const reqGetSearchInfo = (params) => request({ url: '/list', method: 'post', data: params, })

/* 获取产品详情信息的接口 URL:/api/item/{skId} */
export const reqGoodsInfo = (skuId) => request({ url: `/item/${skuId}`, method: 'get' })

/* 将产品添加到购物车中或者更新某一个产品的个数 需要带参数 商品id 和商品数量 */
export const reqAddOrUpdateShopCart = (skuId, skuNum) => request({ url: `/cart/addToCart/${skuId}/${skuNum}`, method: 'post' })

/* 获取购物车列表数据接口请求  get 不带参数 */
export const reqCartList = () => request({ url: '/cart/cartList', method: 'get' })

/* 删除购物车产品的接口 */
export const reqDeleteCartById = (skuId) => request({ url: `/cart/deleteCart/${skuId}`, method: 'delete' })

/* 修改商品的选中状态 */
export const reqUpdataCheckedById = (skuId, isChecked) => request({ url: `/cart/checkCart/${skuId}/${isChecked}`, method: 'get' })

/* 注册获取验证码 */
export const reqGetCode = (phone) => request({ url: `/user/passport/sendCode/${phone}`, method: 'get' })

/* 用户注册 */
export const reqUserRegister = (data) => request({ url: '/user/passport/register', data, method: 'post' })

/* 用户登录 */
export const reqUserLogoin = (data) => request({ url: '/user/passport/login', data, method: 'post' })

/* 获取用户信息【需要带着用户的token向服务器要用户信息】 */
export const reqUserInfo = () => request({ url: '/user/passport/auth/getUserInfo', method: 'get' })

/* 退出登录 */
export const reqLogout = () => request({ url: '/user/passport/logout', method: 'get' })

/* 获取用户地址 */
export const reqAddressInfo = () => request({ url: '/user/userAddress/auth/findUserAddressList', method: 'get' })

/* 获取交易页商品列表 */
export const reqOrder = () => request({ url: '/order/auth/trade', method: 'get' })

/* 提交订单的接口   从此以后在组件内自己发请求 */
export const reqSubmitOrder = (tradeNo, data) => request({ url: `/order/auth/submitOrder?tradeNo=${tradeNo}`, data, method: 'post' })

/* 获取支付信息 */
export const reqPayInfo = (orderId) => request({ url: `/payment/weixin/createNative/${orderId}`, method: 'get' })

/* 获取支付订单状态 */
export const reqPayStatus = (orderId) => request({ url: `/payment/weixin/queryPayStatus/${orderId}`, method: 'get' })

/* 个人中心订单列表 */
export const reqMyorderList = (page, limit) => request({ url: `/order/auth/${page}/${limit}`, method: 'get' })
